This invention relates to the automatic detection and identification of broadcast programming, for example music or speech that is broadcast over radio, television or the Internet, or television signals, whether broadcast as analog, digital or digital over the Internet. By “Broadcast” it is meant any readily available source of content, whether now known or hereafter devised, including, for example, streaming, peer to peer delivery of downloads or streaming or detection of network traffic comprising such content delivery activity. The system initially registers a known program by digitally sampling the program and separating the digital sample stream into a large set of short segments in time. These segments are then processed to extract particular feature sets that are characteristic of the segment. The invention processes each set of features to produce a numerical code that represents the feature set for a particular segment of the known program. These codes and the registration data identifying the program populate a database as part of the system. Once registration of one or more programs is complete, the system can then detect and identify the presence of the registered programming in a broadcast signal by extracting a feature set from the input signal, producing a numerical code for each time segment input into the system and then comparing the sequence of detected numerical codes against the numerical codes stored in the database. Various testing criteria are applied during the comparison process in order to reduce the rate of false positives, false negatives and increase correct detections of the registered programming. The invention also encompasses certain improvements and optimizations in the comparison process so that it executes in a relatively short period of time.